Мастерская Delphi программирования. | |||||||||||||||
| |||||||||||||||
Проблема c "завершением работы" windows
пример: Shutdown.zip При работе программы может сложиться следующая ситуация. Программа работает но по какой-то притчине пользователь завершает работу windows или другая программа вызывает функцию ExitWindows. В результате Windows попытается завершить свою работу но вскоре прекратит попытку и будет продолжать работать. Это происходит потому что, при вызове функци завершения работы, ExitWindows или ExitWindowsEx, каждой программе посылается сообщение Wm_QueryEndSession. Обрабатывая это сообщение, программа должна выполнит действия по подготовке к завершению, и вернуть True. Если любая из программ вернет False, система не будет завершать свою работу. Не вдаваясь в подробности VCL можно поступить проще определив для сообщения Wm_QueryEndSession обработчик в потомке TForm.
Реализовать обработчик можно следующим образом
Windows будет ждать пока программа не обработает сообщение.
Как это работает можно посмотреть запустив пример | |||||||||||||||
| |||||||||||||||
http://www.valler.narod.ru |